如何在JavaScript中获取正则表达式匹配的开始和结束位置? | 您所在的位置:网站首页 › js 获取字符串下标 › 如何在JavaScript中获取正则表达式匹配的开始和结束位置? |
根本不需要遍历干草堆两次(这可能效率较低) 您可以执行以下任一操作: 代码语言:javascript复制"foobarfoobar".match(/bar/);或者: 代码语言:javascript复制/bar/.exec("foobarfoobar");两者都返回此对象: 代码语言:javascript复制{ 0: 'bar' index: 3 input: 'foobarfoobar' }因此,如果您想要开始和结束位置,您只需执行以下操作: 代码语言:javascript复制var needle = /bar/; var haystack = 'foobarfoobar'; var result = needle.exec(haystack); var start = result.index; var end = start + result[0].length - 1;注这个简单的例子只给出了第一个匹配项;如果您希望有多个匹配项,事情就会变得有点复杂。 另外,我回答了正则表达式,因为它在问题的标题中,但是如果您所需要的只是字符串匹配,那么您可以使用indexOf()来做几乎同样的事情。 |
CopyRight 2018-2019 实验室设备网 版权所有 |